#define MyAppName "OpenQuant 2014"
#define MyAppVersion GetFileVersion('Production\OpenQuant.exe')
#define MyCompany "SmartQuant Ltd"
#ifndef SvnRevision
  #define SvnRevision 0   
#endif

#define InstallFramework45
#define InstallVCRedist
#define InstallProviders

#include "runtime-install.iss"
#include "op-data-files.iss"

[Setup]
AppName={#MyAppName}
AppVersion={#MyAppVersion}
AppCopyright={#MyCompany}
AppMutex=OpenQuant_2014
AppId={{C224DA18-4901-433D-BD94-82D28B640B2C}
DefaultDirName={pf}\{#MyCompany}\{#MyAppName}
OutputBaseFilename=OpenQuant2014
UninstallDisplayName={#MyAppName}
UninstallDisplayIcon={app}\OpenQuant.exe
DisableDirPage=yes
AllowUNCPath=False
VersionInfoVersion=1.0.0.{#SvnRevision}
VersionInfoCompany={#MyCompany}
VersionInfoCopyright={#MyCompany}
VersionInfoProductName={#MyAppName}
VersionInfoProductVersion={#MyAppVersion}
Compression=lzma/normal
SolidCompression=yes
DefaultGroupName={#MyCompany}\{#MyAppName}
DisableProgramGroupPage=yes
AppPublisher={#MyCompany}
AppPublisherURL= http://www.smartquant.com/
AppSupportURL=http://www.smartquant.cn/
ArchitecturesInstallIn64BitMode=x64

[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"

[Files]
; Thanf Moudle
Source: "install\QuantBox.Shared.dll"; DestDir: "{app}"
Source: "install\QuantBox.OQ.dll"; DestDir: "{app}\Thanf\"
Source: "install\Newtonsoft.Json.dll"; DestDir: "{app}"
Source: "install\System.ValueTuple.dll"; DestDir: "{app}"
Source: "install\System.Threading.Tasks.Dataflow.dll"; DestDir: "{app}"
;
Source: "Production\quicklz150_32_1.dll"; DestDir: "{sys}"; Flags: ignoreversion 32bit
Source: "Production\quicklz150_32_2.dll"; DestDir: "{sys}"; Flags: ignoreversion 32bit
Source: "Production\quicklz150_32_3.dll"; DestDir: "{sys}"; Flags: ignoreversion 32bit
Source: "Production\quicklz150_64_1.dll"; DestDir: "{sys}"; Flags: ignoreversion 64bit
Source: "Production\quicklz150_64_2.dll"; DestDir: "{sys}"; Flags: ignoreversion 64bit
Source: "Production\quicklz150_64_3.dll"; DestDir: "{sys}"; Flags: ignoreversion 64bit
;
Source: "Production\FileManager.WPF.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "Production\FileManager.WPF.exe.config"; DestDir: "{app}"; Flags: ignoreversion
Source: "Production\FileServer.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "Production\FileServer.exe.config"; DestDir: "{app}"; Flags: ignoreversion
Source: "Production\Interop.Excel.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "Production\License.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "Production\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "Production\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.xml"; DestDir: "{app}"; Flags: ignoreversion
Source: "Production\OpenQuant.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "Production\OpenQuant.exe.config"; DestDir: "{app}"; Flags: ignoreversion
Source: "Production\Python.Runtime.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "Production\QWhale.Common.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "Production\QWhale.Editor.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "Production\QWhale.Syntax.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "Production\QWhale.Syntax.Parsers.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "Production\SandDock.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "Production\SandDock.Design.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "Production\SharpZipLib.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "Production\SmartQuant.dll"; DestDir: "{app}"; Flags: ignoreversion gacinstall; StrongAssemblyName: "SmartQuant, Version=1.2.0.1, Culture=neutral, PublicKeyToken=023ca4f8a69375d5"
Source: "Production\SmartQuant.Charting.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "Production\SmartQuant.ChartViewers.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "Production\SmartQuant.Controls.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "Production\SmartQuant.Data.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "Production\SmartQuant.Docking.WinForms.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "Production\SmartQuant.ExcelLib.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "Production\SmartQuant.FinChart.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "Production\SmartQuant.Shared.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "Production\SmartQuant.Utils.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "Production\SmartQuant.WPF.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "Production\Xceed.Wpf.AvalonDock.dll"; DestDir: "{app}"; Flags: ignoreversion

[Icons]
Name: "{group}\OpenQuant 2014"; Filename: "{app}\OpenQuant.exe"; WorkingDir: "{app}"; IconFilename: "{app}\OpenQuant.exe"; IconIndex: 0
Name: "{group}\FileManager.WPF"; Filename: "{app}\FileManager.WPF.exe"; WorkingDir: "{app}"; IconFilename: "{app}\FileManager.WPF.exe"; IconIndex: 0
Name: "{group}\FileServer"; Filename: "{app}\FileServer.exe"; WorkingDir: "{app}"; IconFilename: "{app}\FileServer.exe"; IconIndex: 0
Name: "{group}\Uninstall"; Filename: "{uninstallexe}"; WorkingDir: "{app}"
Name: "{group}\Documentation\Developing Algo Trading Applications with SmartQuant Framework"; Filename: "{app}\Help\Developing Algo Trading Applications with SmartQuant Framework.pdf"; WorkingDir: "{app}\Help\"
Name: "{group}\Documentation\Developing Algo Trading Strategies with SmartQuant Framework"; Filename: "{app}\Help\Developing Algo Trading Strategies with SmartQuant Framework.pdf"; WorkingDir: "{app}\Help\"
Name: "{group}\Documentation\Introduction to OpenQuant 2014 for OpenQuant users"; Filename: "{app}\Help\Introduction to OpenQuant 2014 for OpenQuant users.pdf"; WorkingDir: "{app}\Help\"
Name: "{group}\Documentation\OpenQuant 2014 FAQ"; Filename: "{app}\Help\OpenQuant 2014 FAQ.pdf"; WorkingDir: "{app}\Help\"
Name: "{group}\Samples\Demo Application"; Filename: "{app}\Samples\DemoApp\DemoApp.sln"; WorkingDir: "{app}\Samples\"
Name: "{group}\Samples\Sample Indicators"; Filename: "{app}\Samples\SampleIndicators\SampleIndicators.sln"; WorkingDir: "{app}\Samples\"
Name: "{group}\Samples\Sample Providers"; Filename: "{app}\Samples\SampleProviders\SampleProviders.sln"; WorkingDir: "{app}\Samples\"
Name: "{group}\Samples\Sample Statistics"; Filename: "{app}\Samples\SampleStatistics\SampleStatistics.sln"; WorkingDir: "{app}\Samples\"